﻿// 七、集合部分

// 集合操作练习
// 题目：创建一个List<int>集合，包含10个随机整数（范围在1 - 100之间）。然后完成以下操作：
var randomList = new List<int>();
var random = new Random();
for (int i = 0; i < 10; i++)
{
    randomList.Add(random.Next(1, 101));
}
foreach (var item in randomList)
{
    System.Console.WriteLine(item);
}
// 使用Add方法添加一个整数101。
randomList.Add(101);
System.Console.WriteLine(randomList[10]);
// 使用Remove方法移除第一个出现的整数50（如果存在）。
var isFifty = randomList.Remove(50);
if (isFifty)
{
    System.Console.WriteLine("移除成功");
}
else
{
    System.Console.WriteLine("未找到50");
}
// 使用Insert方法在索引3的位置插入整数99。
randomList.Insert(3, 99);
System.Console.WriteLine("randomList[3]: "+randomList[3]);
// 使用Sort方法对集合进行升序排序。
randomList.Sort();
System.Console.WriteLine("排序后的:");
foreach (var item in randomList)
{
    System.Console.WriteLine(item);
}
// 遍历集合并打印出每个元素。
// 要求：编写完整的代码，展示集合的创建、添加、移除、插入、排序和遍历操作。

System.Console.WriteLine("--------------------------------------------------");
// 集合转换练习
// 题目：创建一个Dictionary<string, int>集合，包含以下键值对：
var keyValue = new Dictionary<string, int>();
keyValue.Add("apple", 3);
keyValue.Add("banana", 5);
keyValue.Add("orange", 2);
// "apple"对应3
// "banana"对应5
// "orange"对应2
// 然后将该字典的键和值分别转换为两个List<string>和List<int>集合。
var MyKey = new List<string>(keyValue.Keys);
var MyValue = new List<int>(keyValue.Values);
foreach (var item in MyKey)
{
    System.Console.WriteLine("键: "+item);
}
foreach (var item in MyValue)
{
    System.Console.WriteLine("值: "+item);
}
// 要求：使用集合的Keys和Values属性进行转换，并打印出转换后的两个列表的内容。